package com.nulldev.util.gui.themeAPI;

import java.awt.Color;

import com.nulldev.util.gui.swingAPI.Colors;

public class Theme {
	// Also, it's colour, not color.

	private final Color backgroundColor;
	private final Color foregroundColor;
	private final String themeName;
	private final boolean isDarkTheme;

	public String getThemeName() {
		return this.themeName;
	}

	public Color backgroundColor() {
		return this.backgroundColor;
	}

	public Color foregroundColor() {
		return this.foregroundColor;
	}

	public boolean isDarkTheme() {
		return this.isDarkTheme;
	}

	public Theme(final Color foreground, final Color background, final String name, final boolean isDarkTheme) {
		this.foregroundColor = foreground;
		this.backgroundColor = background;
		this.themeName = name;
		this.isDarkTheme = isDarkTheme;
	}

	public static class SwingTheming {

		public static final Theme SWING_PURE_BLACK = new Theme(Colors.color(Colors.lightGray), Color.black, "Pure Black", true);
		public static final Theme SWING_DARK = new Theme(Colors.color(Colors.lightGray), Colors.color(3618615), "Dark", true);

		public static final Theme SWING_LIGHT = new Theme(Colors.color(Colors.black), Colors.color(Colors.darkGray), "Light", true);

		public static final Theme systemTheme = SWING_DARK;
	}

	public static class FXTheming {

	}
}
